package com.conlin.learn.io;

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Objects;

/**
 * 文件
 *
 * 遍历目录下的所有文件
 */
public class FileTest {

    public static void main(String[] args) {

        // 系统输入inputStreamReader 字符缓冲输入流bufferedReader
        try(InputStreamReader inputStreamReader = new InputStreamReader(System.in);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader)) {

            // 读取一行
            String filePath = bufferedReader.readLine();
            File file = new File(filePath);
            if (file.isDirectory() && file.exists()) {
                fileList(file);
            }else {
                System.out.println("文件路径错误");
            }
        }catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static void fileList(File file){
        File[] files = file.listFiles();
        if (Objects.nonNull(files)) {
            for (File f : files) {
                // 如果是文件的话 输出绝对路径 否则继续遍历
                if (f.isFile()) {
                    System.out.println(f.getAbsoluteFile());
                }else{
                    fileList(f);
                }
            }
        }
    }
}
